package com.redepronik.negosys.seguridad.service;

import java.io.Serializable;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.redepronik.negosys.seguridad.dao.RolDao;
import com.redepronik.negosys.seguridad.entity.Rol;

@Service
public class RolServiceImpl implements RolService, Serializable {

	private static final long serialVersionUID = 1L;

	@Autowired
	private RolDao rolDao;

	public String actualizar(Rol rol) {
		if (!rolDao.comprobarIndices(Rol.class, "nombre", rol.getNombre(),
				String.valueOf(rol.getRolid()))) {
			rolDao.insertar(rol);
			return "SAVE";
		} else
			return "EL ROL YA EXISTE";
	}

	public void eliminar(int usuarioId) {
		rolDao.eliminarPorId(Rol.class, usuarioId);
	}

	public String insertar(Rol rol) {
		if (!rolDao.comprobarIndices(Rol.class, "nombre", rol.getNombre(),
				String.valueOf(rol.getRolid()))) {
			rolDao.insertar(rol);
			return "SAVE";
		} else
			return "EL ROL YA EXISTE";
	}

	public List<Rol> obtener() {
		return rolDao.obtener(Rol.class, "nombre", null);
	}

	public Rol obtenerPorNombre(String nombre) {
		return rolDao.obtenerPorAtributo(Rol.class, "nombre", nombre, null);
	}

	public Rol obtenerPorRolId(int rolId) {
		return rolDao.obtenerPorId(Rol.class, rolId);
	}

}